﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Model;

namespace Interfaces.Tareas
{
    public partial class ModificarTarea : System.Web.UI.Page
    {        
        Model.Programa programatarea { get { return (Model.Programa)ViewState["programatarea"]; } set { ViewState["programatarea"] = value; } }
        Miembroo directoratarea { get { return (Miembroo)ViewState["directoratarea"]; } set { ViewState["directoratarea"] = value; } }
        Model.Tareas.TareaCampos tareascampos { get { return (Model.Tareas.TareaCampos)ViewState["tareacampos"]; } set { ViewState["tareacampos"] = value; } }       
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {                
                tareascampos = new Model.Tareas.TareaCampos();
                MultiView1.ActiveViewIndex = 0;                
                Model.Tareas.Tarea tarea = new Model.Tareas.Tarea();
                if (Convert.ToBoolean(Request.QueryString["Relacionado"]))
                {
                    TextBox3.Visible = true;
                    Label1.Visible = true;
                    tarea = Processes.Tareas.GestorTareas.ObterTareaPorId(Request.QueryString["ID"], true);
                    TextBox1.Text = tarea.nombre;
                    Model.Miembroo miembro=DataBase.Miembro2.BDMiembro.DevolverMiembroPorCi(Convert.ToInt64( tarea.ciAsignado));
                    TextBox2.Text = miembro.Nombre+" "+miembro.ApellidoPaterno;
                    directoratarea = miembro;
                    TextBox4.Text = tarea.descripcion;
                    TextBox5.Text = Convert.ToString(tarea.fecini.Year) + "-" + Convert.ToString(tarea.fecini.Month) + "-" + Convert.ToString(tarea.fecini.Day);
                    TextBox6.Text = Convert.ToString(tarea.fecfin.Year) + "-" + Convert.ToString(tarea.fecfin.Month) + "-" + Convert.ToString(tarea.fecfin.Day);
                    Model.Programa programa = DataBase.Programa.BDPrograma.ProgramasPorCodigo(Convert.ToInt64(tarea.programa));
                    TextBox3.Text = programa.Nombre;
                    programatarea = programa;
                }
                else
                {
                    TextBox3.Visible = false;
                    Label1.Visible = false;
                    Button3.Visible = false;
                    tarea = Processes.Tareas.GestorTareas.ObterTareaPorId(Request.QueryString["ID"], false);
                    TextBox1.Text = tarea.nombre;
                    Model.Miembroo miembro = DataBase.Miembro2.BDMiembro.DevolverMiembroPorCi(Convert.ToInt64(tarea.ciAsignado));
                    TextBox2.Text = miembro.Nombre + " " + miembro.ApellidoPaterno; ;
                    directoratarea = miembro;
                    TextBox4.Text = tarea.descripcion;
                    TextBox5.Text = Convert.ToString(tarea.fecini.Year) + "-" + Convert.ToString(tarea.fecini.Month) + "-" + Convert.ToString(tarea.fecini.Day);
                    TextBox6.Text = Convert.ToString(tarea.fecfin.Year) + "-" + Convert.ToString(tarea.fecfin.Month) + "-" + Convert.ToString(tarea.fecfin.Day);
                }
            }            
            if (Session["programatarea"] != null)
            {                                
                programatarea = (Model.Programa)Session["programatarea"];
                TextBox3.Text = programatarea.Nombre;             
            }
            if (Session["directoratarea"] != null)
            {
                directoratarea = (Miembroo)Session["directoratarea"];
                TextBox2.Text = directoratarea.Nombre + " " + directoratarea.ApellidoPaterno;
            }
            if (Session["tareacampos"] != null)
            {
                tareascampos = (Model.Tareas.TareaCampos)Session["tareacampos"];
                TextBox1.Text = tareascampos.nombre;
                TextBox4.Text = tareascampos.descripcion;
                if (tareascampos.fecini != default(DateTime))
                    TextBox5.Text = Convert.ToString(tareascampos.fecini.Year) + "-" + Convert.ToString(tareascampos.fecini.Month) + "-" + Convert.ToString(tareascampos.fecini.Day);//Convert.ToString(tareascampos.fecini.ToShortDateString());
                else
                    TextBox5.Text = "";
                if (tareascampos.fecfin != default(DateTime))
                    TextBox6.Text = Convert.ToString(tareascampos.fecini.Year) + "-" + Convert.ToString(tareascampos.fecfin.Month) + "-" + Convert.ToString(tareascampos.fecfin.Day);//Convert.ToString(tareascampos.fecfin.ToShortDateString());
                else
                    TextBox6.Text = "";
                Session.Remove("tareacampos");  
            }
        }

        protected void Button1_Click(object sender, EventArgs e)
        {
            try
            {
                bool resp=false;
                LabelError.Text = "";
                DateTime fecini = DateTime.Parse(TextBox5.Text+ " 0:0:0");
                DateTime fecfin = DateTime.Parse(TextBox6.Text + " 0:0:0");
                if (Convert.ToBoolean(Request.QueryString["Relacionado"]))
                {
                    resp=Processes.Tareas.GestorTareas.ModificarTarea(Request.QueryString["ID"],TextBox1.Text,TextBox4.Text,fecini,fecfin,directoratarea.CI,programatarea.CodigoPrograma,true);
                }
                else
                {
                    resp = Processes.Tareas.GestorTareas.ModificarTarea(Request.QueryString["ID"], TextBox1.Text, TextBox4.Text, fecini, fecfin, directoratarea.CI,1, false);
                }
                Session.Remove("tareacampos");
                Session.Remove("directoratarea");
                Session.Remove("programatarea");
                if (resp)
                    Response.Redirect("/Tareas/BuscarTarea.aspx");
            }
            catch (Exception ex)
            {
                LabelError.Text = ex.Message;
            }
        }
        protected void Page_PreInit(object sender, EventArgs e)
        {


            if (Session["BuscarMaster"] != null)
            {
                this.MasterPageFile = (string)Session["BuscarMaster"];
            }
            else
            {
                this.MasterPageFile = "~/MasterPages/Default.Master";
            }
        }
        protected void Button2_Click(object sender, EventArgs e)
        {
            tareascampos.nombre = TextBox1.Text;
            tareascampos.descripcion = TextBox4.Text;
            tareascampos.fecini = Convert.ToDateTime(TextBox5.Text);
            tareascampos.fecfin = Convert.ToDateTime(TextBox6.Text);
            Session["tareacampos"] = tareascampos;
            Response.Redirect("/Miembro/BuscarMiembro.aspx?Index=" + false + "&VerificarPagina=1&Relacionado=" + Request.QueryString["Relacionado"] + "&ID=" + Request.QueryString["ID"]);
        }

        protected void Button3_Click(object sender, EventArgs e)
        {                      
            tareascampos.nombre = TextBox1.Text;            
            tareascampos.descripcion = TextBox4.Text;            
            tareascampos.fecini = Convert.ToDateTime(TextBox5.Text);          
            tareascampos.fecfin = Convert.ToDateTime(TextBox6.Text);
            Session["tareacampos"] = tareascampos;
            Response.Redirect("/Programa/BuscarPrograma.aspx?Index=1 &Verificar=3&Relacionado=" + Request.QueryString["Relacionado"] + "&ID=" + Request.QueryString["ID"]);            
        }

     
    }
}